home *** CD-ROM | disk | FTP | other *** search
- STDMETHODIMP C$$COM_Class_Name$$::get_Description(BSTR* bstrDescription)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- CString strDescription;
-
- strDescription.LoadString(IDS_DESCRIPTION);
- *bstrDescription = strDescription.AllocSysString();
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::get_ClassID(BSTR* bstrClassID)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- HRESULT hRes = E_FAIL;
- LPOLESTR olestr = NULL;
-
- try
- {
- hRes = ::StringFromCLSID(CLSID_$$COM_Class_Name$$, &olestr);
- CHECK_HRESULT(hRes);
-
- *bstrClassID = ::SysAllocString(olestr);
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::get_ClassID");
- }
- if (olestr) CoTaskMemFree (olestr);
-
- return hRes;
- }
-
- void MySafeArrayAccessData(SAFEARRAY *destArray, void** srcArray, bool* boolResult)
- {
- *boolResult = false;
- if (SUCCEEDED(SafeArrayAccessData(destArray, srcArray)))
- *boolResult = true;
- else
- throw;
- }
-
- BSTR MakeBSTR(long lIdsOfResourceString)
- {
- CString cStr;
- cStr.LoadString(lIdsOfResourceString);
- return cStr.AllocSysString();
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::GetPropertyInfo(VARIANT* Names, VARIANT* Types, VARIANT* IDs, VARIANT* Defaults, long* lPropsCount)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- ASSERT(Names->vt == (VT_ARRAY | VT_BSTR));
- ASSERT(Types->vt == (VT_ARRAY | VT_I4));
- ASSERT(IDs->vt == (VT_ARRAY | VT_I4));
- ASSERT(Defaults->vt == (VT_ARRAY | VT_VARIANT));
-
- *lPropsCount = $$PropertiesCount$$;
-
- HRESULT hRes = S_OK;
- BSTR *bstrNames = NULL;
- long *lTypes = NULL;
- long *lIDs = NULL;
- VARIANT *varDefaults = NULL;
- bool boolNamesAccess;
- bool boolTypesAccess;
- bool boolIdsAccess;
- bool boolDefaultsAccess;
-
- SAFEARRAYBOUND bound = { *lPropsCount, 0 };
- if (FAILED(::SafeArrayRedim(Names->parray, &bound))) return E_FAIL;
- if (FAILED(::SafeArrayRedim(Types->parray, &bound))) return E_FAIL;
- if (FAILED(::SafeArrayRedim(IDs->parray, &bound))) return E_FAIL;
- if (FAILED(::SafeArrayRedim(Defaults->parray, &bound))) return E_FAIL;
-
- try
- {
- MySafeArrayAccessData(Names->parray, (void**)&bstrNames, &boolNamesAccess);
- MySafeArrayAccessData(Types->parray, (void**)&lTypes, &boolTypesAccess);
- MySafeArrayAccessData(IDs->parray, (void**)&lIDs, &boolIdsAccess);
- MySafeArrayAccessData(Defaults->parray, (void**)&varDefaults, &boolDefaultsAccess);
-
- long lTmpIndex = 0;
-
- $$RegenPropertiesGenerated$$
-
- ASSERT(lTmpIndex == (*lPropsCount));
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::GetPropertyInfo");
- hRes = E_FAIL;
- };
-
- if (boolNamesAccess) ::SafeArrayUnaccessData(Names->parray);
- if (boolTypesAccess) ::SafeArrayUnaccessData(Types->parray);
- if (boolIdsAccess) ::SafeArrayUnaccessData(IDs->parray);
- if (boolDefaultsAccess) ::SafeArrayUnaccessData(Defaults->parray);
-
- return hRes;
- }
-
- enum StockPages
- {
- PP_STOCK_PEN = 1,
- PP_STOCK_BRUSH = 2,
- PP_STOCK_TEXT = 4,
- PP_STOCK_INSERT = 8,
- PP_STOCK_VIEWPORT = 16,
- PP_STOCK_AUTO = 32
- };
-
- STDMETHODIMP C$$COM_Class_Name$$::GetPageInfo(IDispatch* AGraphic, long* StockPages, VARIANT* Names, long* lPagesCount)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- ASSERT(StockPages != NULL);
- ASSERT(Names->vt == (VT_ARRAY|VT_BSTR));
-
- *StockPages = PP_STOCK_PEN | PP_STOCK_AUTO;
-
- *lPagesCount = 0;
-
- SAFEARRAYBOUND bound = {*lPagesCount, 0};
- HRESULT hRes = E_FAIL;
-
- if (FAILED(SafeArrayRedim(Names->parray, &bound))) return E_FAIL;
-
- try
- {
- //::SafeArrayPutElement(Names->parray, &lPageCounter, (void*)bstrName);
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::GetPageInfo");
- };
-
- return hRes;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::Initialize(IDispatch* ThisRegenMethod, IMSI_BOOL* boolResult)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- HRESULT hRes = S_OK;
-
- try
- {
- *boolResult = true;
- }
- catch (...)
- {
- TRACE("CRegen::Initialize");
- };
-
- return hRes;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::PropertyPages(IDispatch* ThisRegenMethod, VARIANT* PageNumber, IMSI_BOOL* boolResult)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- ASSERT(PageNumber->vt == VT_I4);
-
- try
- {
- *boolResult = true;
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::PropertyPages");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::PageControls(IDispatch* ThisRegenMethod, IDispatch* AGraphic, long PageNumber, IMSI_BOOL SaveProperties, IMSI_BOOL* boolResult)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- try
- {
- if (SaveProperties)
- {
- }
- else
- {
- };
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::PageControls");
- };
-
- return E_FAIL;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::PageDone(IDispatch* ThisRegenMethod, VARIANT* PageNumber)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- ASSERT(PageNumber->vt == VT_I4);
-
- try
- {
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::PageDone");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::OnNewGraphic(IDispatch* CopyGraphic, IMSI_BOOL Copy, IMSI_BOOL* boolResult)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- try
- {
- *boolResult = true;
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::OnNewGraphic");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::OnCopyGraphic(IDispatch* CopyGraphic, IDispatch* SourceGraphic, VARIANT* pvarMatrix, IMSI_BOOL* boolResult)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- try
- {
- *boolResult = true;
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::OnCopyGraphic");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::OnPropertyChanged(IDispatch* AGraphic, long PropID, VARIANT* ValueOld, VARIANT* ValueNew)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- try
- {
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::OnPropertyChanged");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::OnPropertyChanging(IDispatch* AGraphic, long PropID, VARIANT* ValueOld, VARIANT* ValueNew, IMSI_BOOL* boolResult)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- try
- {
- *boolResult = true;
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::OnPropertyChanging");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::OnPropertyGet(IDispatch* AGraphic, long PropID)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- try
- {
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::OnPropertyGet");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::Draw(IDispatch* AGraphic, IDispatch* AView, VARIANT* AMatrix, IMSI_BOOL* boolResult)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- try
- {
- *boolResult = true;
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::Draw");
- };
-
- return S_OK;
- }
-
- STDMETHODIMP C$$COM_Class_Name$$::Regen(IDispatch* AGraphic)
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState())
-
- IGraphic *piGraphic = NULL;
-
- if (FAILED(AGraphic->QueryInterface(IID_IGraphic, (void**) &piGraphic))) return E_FAIL;
-
- try
- {
- }
- catch (...)
- {
- TRACE("C$$COM_Class_Name$$::Regen");
- };
-
- RELEASE(piGraphic);
-
- return S_OK;
- }
-
-